home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok81 / m2 / talkdemo / txt / talkmenu.mod < prev    next >
Text File  |  1993-11-04  |  2KB  |  67 lines

  1. IMPLEMENTATION MODULE TalkMenu;
  2. (*$ LargeVars:=FALSE StackParms:=FALSE Volatile:=FALSE *)
  3.  
  4. FROM SYSTEM    IMPORT    ADR;
  5. IMPORT    D:TalkBase,
  6.     A:Arts,
  7.     ID:IntuitionD,
  8.     IL:IntuitionL,
  9.     GD:GadToolsD,
  10.     GL:GadToolsL,
  11.     UD:UtilityD,
  12.     R:Requester;
  13.  
  14. PROCEDURE MakeMenu():BOOLEAN;
  15. TYPE
  16.   NmArr=ARRAY [1..15] OF GD.NewMenu;
  17.   DummyTag=RECORD l:LONGINT END;
  18.  
  19. CONST
  20.   toc=ID.MenuItemFlagSet{ID.checkIt,ID.checked,ID.menuToggle};
  21.   N=NmArr{
  22.     GD.NewMenu{type:GD.nmTitle,label:ADR("Project")},
  23.     GD.NewMenu{type:GD.nmItem, label:ADR("Open Phonemes..."),commKey:ADR("P"),userData:ORD(openPhonID)},
  24.     GD.NewMenu{type:GD.nmItem, label:ADR("Open Voice..."),commKey:ADR("V"),userData:ORD(openVoiceID)},
  25.     GD.NewMenu{type:GD.nmItem, label:GD.nmBarlabel},
  26.     GD.NewMenu{type:GD.nmItem, label:ADR("Save Phonemes..."),userData:ORD(savePhonID)},
  27.     GD.NewMenu{type:GD.nmItem, label:ADR("Save Voice..."),userData:ORD(saveVoiceID)},
  28.     GD.NewMenu{type:GD.nmItem, label:GD.nmBarlabel},
  29.     GD.NewMenu{type:GD.nmItem, label:ADR("Talk"),commKey:ADR("T"),userData:ORD(talkID)},
  30.     GD.NewMenu{type:GD.nmItem, label:ADR("About..."),userData:ORD(aboutID)},
  31.     GD.NewMenu{type:GD.nmItem, label:ADR("Quit"),commKey:ADR("Q"),userData:ORD(quitID)},
  32.  
  33.     GD.NewMenu{type:GD.nmTitle,label:ADR("Edit")},
  34.     GD.NewMenu{type:GD.nmItem, label:ADR("Reset To Default"),commKey:ADR("D"),userData:ORD(resetID)},
  35.  
  36.     GD.NewMenu{type:GD.nmTitle,label:ADR("Options")},
  37.     GD.NewMenu{type:GD.nmItem, label:ADR("Save Icons?"),itemFlags:toc,userData:ORD(iconID)},
  38.  
  39.     GD.NewMenu{type:GD.nmEnd}
  40.     };
  41.  
  42. BEGIN
  43.   myMenu:=GL.CreateMenusA(ADR(N),ADR(DummyTag{l:UD.tagEnd}));
  44.   IF myMenu#NIL THEN
  45.     IF GL.LayoutMenusA(myMenu,D.vi,NIL) THEN
  46.       IF IL.SetMenuStrip(D.myWindow,myMenu) THEN END;
  47.     ELSE
  48.       GL.FreeMenus(myMenu);
  49.       myMenu:=NIL;
  50.     END;
  51.   END;
  52.   RETURN myMenu#NIL;
  53. END MakeMenu;
  54.  
  55.  
  56. BEGIN
  57.   IF (D.myWindow=NIL) OR ~MakeMenu() THEN
  58.     R.OKRequest("Kann Menü nicht erzeugen!");
  59.   END;
  60. CLOSE
  61.   IF myMenu#NIL THEN
  62.     IL.ClearMenuStrip(D.myWindow);
  63.     GL.FreeMenus(myMenu);
  64.     myMenu:=NIL
  65.   END;
  66. END TalkMenu.mod
  67.